package co.edu.eam.laapuesta.persistencia.dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import co.edu.eam.laapuesta.persistencia.entidades.Billete_Loteria;
import co.edu.eam.laapuesta.persistencia.entidades.Ganador_Seco;
import co.edu.eam.laapuesta.persistencia.entidades.Ganador_Sorteo;
import co.edu.eam.laapuesta.persistencia.entidades.Loteria;
import co.edu.eam.laapuesta.persistencia.entidades.Seco;
import co.edu.eam.laapuesta.persistencia.entidades.Sorteo;
import co.edu.eam.laapuesta.persistencia.idao.LoteriaIDAO;

public class LoteriaDAO implements LoteriaIDAO {

	private EntityManager em;

	public LoteriaDAO(EntityManager em) {
		this.em = em;
	}

	@Override
	public Loteria buscarLoteria(long id) {
		// TODO Auto-generated method stub

		return em.find(Loteria.class, id);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Loteria> listarLoteria() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Loteria.FIND_ALL);
		return q.getResultList();
	}

	@Override
	public Billete_Loteria buscarBilleteLoteria(long id) {
		// TODO Auto-generated method stub
		return em.find(Billete_Loteria.class, id);
	}

	@Override
	public void crearBilleteLoteria(Billete_Loteria billeteLoteria) {
		// TODO Auto-generated method stub
		em.persist(billeteLoteria);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Billete_Loteria> listarBilleteLoteria() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Billete_Loteria.FIND_ALL);
		return q.getResultList();
	}

	@Override
	public void crearSeco(Seco seco) {
		// TODO Auto-generated method stub
		em.persist(seco);
	}

	@Override
	public Seco buscarSeco(long id) {
		// TODO Auto-generated method stub
		return em.find(Seco.class, id);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Seco> listarSeco() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Seco.FIND_ALL);
		return q.getResultList();
	}

	@Override
	public Ganador_Seco buscarGanadorSeco(long id) {
		// TODO Auto-generated method stub
		return em.find(Ganador_Seco.class, id);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Ganador_Seco> listarGanadorSeco() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Ganador_Seco.FIND_ALL);
		return q.getResultList();
	}

	@Override
	public void crearSorteo(Sorteo sorteo) {
		// TODO Auto-generated method stub
		em.persist(sorteo);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Sorteo> listarSorteo() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Sorteo.FIND_ALL);
		return q.getResultList();
	}

	@Override
	public Sorteo buscarSorteo(long id) {
		// TODO Auto-generated method stub
		return em.find(Sorteo.class, id);
	}

	@Override
	public Ganador_Sorteo buscarGanadorSorteo(long id) {
		// TODO Auto-generated method stub
		return em.find(Ganador_Sorteo.class, id);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Ganador_Sorteo> listarGanadorSorteo() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Ganador_Sorteo.FIND_ALL);
		return q.getResultList();
	}

}
